package claseRepaso;

public class Motor {
	private int temperatura;
	private int temperaturaLimite;
	
	public Motor(int temperatura, int temperaturaLimite) {
		this.temperatura = temperatura;
		if(temperaturaLimite >= 0){
			this.temperaturaLimite = temperaturaLimite;
		}
	}

	/**
	 * @post Acelera el motor hasta alcanzar la temperatura indicada. En caso que la temperatura a alcanzar
	 * 		 sea menor a la temperatura actual del motor no va a realizar nada.
	 * @param La temperatura a la que va a llegar el motor.
	 * */
	public void acelerar(int temperaturaALlegar) {
		if(temperaturaALlegar >= this.temperatura){
			this.temperatura = temperaturaALlegar;
		}
	}

	/**
	 * @post Aplica una carga de liquido refrigerante disminuyendo la temperatura actual en caso
	 * 		 de que temperatura sea mayor o igual a temperaturaLimite.
	 * 
	 * */
	public void recibirRefrigerante(LiquidoRefrigerante refrigerante) {
		if(this.temperatura >= this.temperaturaLimite){
			this.temperatura -= refrigerante.getTemperatura();
		}
	}

	/**
	 * @post Devuelve la temperatura actual del motor.
	 * */
	public int getTemperatura() {
		return this.temperatura;
	}

	public int getTemperaturaLimite() {
		return this.temperaturaLimite;
	}

}
